<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: arm_compute::graph::detail Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Compute Library
   &#160;<span id="projectnumber">18.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.xhtml"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.xhtml"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="namespaces.xhtml"><span>Namespaces</span></a></li>
      <li><a href="annotated.xhtml"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.xhtml"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="namespaces.xhtml"><span>Namespace&#160;List</span></a></li>
      <li><a href="namespacemembers.xhtml"><span>Namespace&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('namespacearm__compute_1_1graph_1_1detail.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">arm_compute::graph::detail Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae668406fdc43b21e5dcb3904fa683ea0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#ae668406fdc43b21e5dcb3904fa683ea0">all_inputs_are_visited</a> (const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> *node, const std::vector&lt; bool &gt; &amp;visited)</td></tr>
<tr class="memdesc:ae668406fdc43b21e5dcb3904fa683ea0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if all the input dependencies of a node have been visited.  <a href="#ae668406fdc43b21e5dcb3904fa683ea0">More...</a><br /></td></tr>
<tr class="separator:ae668406fdc43b21e5dcb3904fa683ea0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6bcbd881dab99aeed6618a188990af0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#af6bcbd881dab99aeed6618a188990af0">configure_transition_manager</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g, <a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;ctx, <a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;workload)</td></tr>
<tr class="memdesc:af6bcbd881dab99aeed6618a188990af0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures transition manager and execution workload.  <a href="#af6bcbd881dab99aeed6618a188990af0">More...</a><br /></td></tr>
<tr class="separator:af6bcbd881dab99aeed6618a188990af0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310bdf38a0f7e77be8315cd9018369e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a310bdf38a0f7e77be8315cd9018369e8">default_initialize_backends</a> ()</td></tr>
<tr class="memdesc:a310bdf38a0f7e77be8315cd9018369e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the available backends.  <a href="#a310bdf38a0f7e77be8315cd9018369e8">More...</a><br /></td></tr>
<tr class="separator:a310bdf38a0f7e77be8315cd9018369e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1a15b9a302932057b6914a3f0d63e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a4d1a15b9a302932057b6914a3f0d63e9">validate_all_nodes</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a4d1a15b9a302932057b6914a3f0d63e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates all nodes.  <a href="#a4d1a15b9a302932057b6914a3f0d63e9">More...</a><br /></td></tr>
<tr class="separator:a4d1a15b9a302932057b6914a3f0d63e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8d3894a7c08f9ccdb658c9bfc029f7b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#aa8d3894a7c08f9ccdb658c9bfc029f7b">configure_all_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:aa8d3894a7c08f9ccdb658c9bfc029f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures all nodes of a graph.  <a href="#aa8d3894a7c08f9ccdb658c9bfc029f7b">More...</a><br /></td></tr>
<tr class="separator:aa8d3894a7c08f9ccdb658c9bfc029f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d29cac8418ebb1bf56e5cc5b919739"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a48d29cac8418ebb1bf56e5cc5b919739">allocate_all_input_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;node)</td></tr>
<tr class="memdesc:a48d29cac8418ebb1bf56e5cc5b919739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates all input tensors of a node.  <a href="#a48d29cac8418ebb1bf56e5cc5b919739">More...</a><br /></td></tr>
<tr class="separator:a48d29cac8418ebb1bf56e5cc5b919739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40b09b9d37c94e336d382e63ee865302"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a40b09b9d37c94e336d382e63ee865302">allocate_all_output_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;node)</td></tr>
<tr class="memdesc:a40b09b9d37c94e336d382e63ee865302"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates all output tensors of a node.  <a href="#a40b09b9d37c94e336d382e63ee865302">More...</a><br /></td></tr>
<tr class="separator:a40b09b9d37c94e336d382e63ee865302"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f602a155e97c02c99c3cf7cae8e9170"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a5f602a155e97c02c99c3cf7cae8e9170">allocate_const_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a5f602a155e97c02c99c3cf7cae8e9170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates const tensor of a given graph.  <a href="#a5f602a155e97c02c99c3cf7cae8e9170">More...</a><br /></td></tr>
<tr class="separator:a5f602a155e97c02c99c3cf7cae8e9170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3346eb1357a58532666a6ea36fb8a451"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a3346eb1357a58532666a6ea36fb8a451">allocate_all_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a3346eb1357a58532666a6ea36fb8a451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates all tensors of a graph.  <a href="#a3346eb1357a58532666a6ea36fb8a451">More...</a><br /></td></tr>
<tr class="separator:a3346eb1357a58532666a6ea36fb8a451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae337eddf56a2c2201e775b040a75b3ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#ae337eddf56a2c2201e775b040a75b3ff">configure_all_nodes</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g, <a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;ctx)</td></tr>
<tr class="memdesc:ae337eddf56a2c2201e775b040a75b3ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures all nodes of graph.  <a href="#ae337eddf56a2c2201e775b040a75b3ff">More...</a><br /></td></tr>
<tr class="separator:ae337eddf56a2c2201e775b040a75b3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba5c215b78c0bfccca306e205155881"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a2ba5c215b78c0bfccca306e205155881">release_unused_tensors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a2ba5c215b78c0bfccca306e205155881"><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the memory of all unused const nodes.  <a href="#a2ba5c215b78c0bfccca306e205155881">More...</a><br /></td></tr>
<tr class="separator:a2ba5c215b78c0bfccca306e205155881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7483030a7f4f38d05815f9814efea54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#ad7483030a7f4f38d05815f9814efea54">call_tensor_accessor</a> (<a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a> *tensor)</td></tr>
<tr class="memdesc:ad7483030a7f4f38d05815f9814efea54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls accessor of a given tensor.  <a href="#ad7483030a7f4f38d05815f9814efea54">More...</a><br /></td></tr>
<tr class="separator:ad7483030a7f4f38d05815f9814efea54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fd00d8fd4a859c66575723e4c6f020b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a2fd00d8fd4a859c66575723e4c6f020b">call_all_const_node_accessors</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a2fd00d8fd4a859c66575723e4c6f020b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call all const node accessors.  <a href="#a2fd00d8fd4a859c66575723e4c6f020b">More...</a><br /></td></tr>
<tr class="separator:a2fd00d8fd4a859c66575723e4c6f020b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d298f2434e4e5936f76e44863fa354d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a6d298f2434e4e5936f76e44863fa354d">call_all_input_node_accessors</a> (<a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;workload)</td></tr>
<tr class="memdesc:a6d298f2434e4e5936f76e44863fa354d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call all input node accessors.  <a href="#a6d298f2434e4e5936f76e44863fa354d">More...</a><br /></td></tr>
<tr class="separator:a6d298f2434e4e5936f76e44863fa354d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a098d51f180870b97d18e349afe57e93e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a098d51f180870b97d18e349afe57e93e">call_all_output_node_accessors</a> (<a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;workload)</td></tr>
<tr class="memdesc:a098d51f180870b97d18e349afe57e93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call all output node accessors.  <a href="#a098d51f180870b97d18e349afe57e93e">More...</a><br /></td></tr>
<tr class="separator:a098d51f180870b97d18e349afe57e93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fdb36e9de4ec027fe8ad4281d7c7c78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a2fdb36e9de4ec027fe8ad4281d7c7c78">prepare_all_tasks</a> (<a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;workload)</td></tr>
<tr class="memdesc:a2fdb36e9de4ec027fe8ad4281d7c7c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares all tasks for execution.  <a href="#a2fdb36e9de4ec027fe8ad4281d7c7c78">More...</a><br /></td></tr>
<tr class="separator:a2fdb36e9de4ec027fe8ad4281d7c7c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad76981b4beca6dabee6a41cc708df3dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#ad76981b4beca6dabee6a41cc708df3dd">call_all_tasks</a> (<a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;workload)</td></tr>
<tr class="memdesc:ad76981b4beca6dabee6a41cc708df3dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes all tasks of a workload.  <a href="#ad76981b4beca6dabee6a41cc708df3dd">More...</a><br /></td></tr>
<tr class="separator:ad76981b4beca6dabee6a41cc708df3dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b0a17136ce8fe6fe8f4d4c92fce413f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml#a8b0a17136ce8fe6fe8f4d4c92fce413f">fuse_batch_norm_with_activation</a> (<a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;g)</td></tr>
<tr class="memdesc:a8b0a17136ce8fe6fe8f4d4c92fce413f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fused batch normalization with activation.  <a href="#a8b0a17136ce8fe6fe8f4d4c92fce413f">More...</a><br /></td></tr>
<tr class="separator:a8b0a17136ce8fe6fe8f4d4c92fce413f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ae668406fdc43b21e5dcb3904fa683ea0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool arm_compute::graph::detail::all_inputs_are_visited </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> *&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; bool &gt; &amp;&#160;</td>
          <td class="paramname"><em>visited</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Checks if all the input dependencies of a node have been visited. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Node to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">visited</td><td><a class="el" href="struct_vector.xhtml" title="Structure to hold Vector information. ">Vector</a> that contains the visited information</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if all inputs dependencies have been visited else false </dd></dl>

<p>Definition at line <a class="el" href="_b_f_s_8h_source.xhtml#l00045">45</a> of file <a class="el" href="_b_f_s_8h_source.xhtml">BFS.h</a>.</p>

<p>References <a class="el" href="_error_8h_source.xhtml#l00328">ARM_COMPUTE_ERROR_ON</a>, <a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml#a8ad9de12a27cddcaaefe58ee748c14a8">Graph::edge()</a>, <a class="el" href="arm__compute_2graph_2_types_8h_source.xhtml#l00067">arm_compute::graph::EmptyNodeID</a>, <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a5332828f81f0c3bc766b90656c9ee631">INode::graph()</a>, <a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml#a5b9a9aab9410579c7047edee0ec69cac">INode::input_edges()</a>, <a class="el" href="_edge_8h_source.xhtml#l00084">Edge::producer()</a>, and <a class="el" href="_edge_8h_source.xhtml#l00068">Edge::producer_id()</a>.</p>

<p>Referenced by <a class="el" href="_b_f_s_8h_source.xhtml#l00077">arm_compute::graph::bfs()</a>.</p>
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(node == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">const</span> Graph *graph = node-&gt;graph();</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(graph == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordtype">bool</span> are_all_visited = <span class="keyword">true</span>;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> &amp;input_edge_id : node-&gt;input_edges())</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    {</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        <span class="keywordflow">if</span>(input_edge_id != <a class="code" href="namespacearm__compute_1_1graph.xhtml#aad3f5296ec88b9d552c109b04b89ad9f">EmptyNodeID</a>)</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        {</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;            <span class="keyword">const</span> Edge *input_edge = graph-&gt;edge(input_edge_id);</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;            <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(input_edge == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;            <a class="code" href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a>(input_edge-&gt;producer() == <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;            <span class="keywordflow">if</span>(!visited[input_edge-&gt;producer_id()])</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;            {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                are_all_visited = <span class="keyword">false</span>;</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                <span class="keywordflow">break</span>;</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;            }</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;        }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keywordflow">return</span> are_all_visited;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;}</div><div class="ttc" id="_error_8h_xhtml_a54a6080c9f4df1f908e57a9bbb46f5da"><div class="ttname"><a href="_error_8h.xhtml#a54a6080c9f4df1f908e57a9bbb46f5da">ARM_COMPUTE_ERROR_ON</a></div><div class="ttdeci">#define ARM_COMPUTE_ERROR_ON(cond)</div><div class="ttdoc">If the condition is true then an error message is printed and an exception thrown. </div><div class="ttdef"><b>Definition:</b> <a href="_error_8h_source.xhtml#l00328">Error.h:328</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1graph_xhtml_aad3f5296ec88b9d552c109b04b89ad9f"><div class="ttname"><a href="namespacearm__compute_1_1graph.xhtml#aad3f5296ec88b9d552c109b04b89ad9f">arm_compute::graph::EmptyNodeID</a></div><div class="ttdeci">constexpr NodeID EmptyNodeID</div><div class="ttdoc">Constant EdgeID specifying an equivalent of null edge. </div><div class="ttdef"><b>Definition:</b> <a href="arm__compute_2graph_2_types_8h_source.xhtml#l00067">Types.h:67</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a class="anchor" id="a48d29cac8418ebb1bf56e5cc5b919739"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::allocate_all_input_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates all input tensors of a node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Node to allocate the input tensor of </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a40b09b9d37c94e336d382e63ee865302"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::allocate_all_output_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_i_node.xhtml">INode</a> &amp;&#160;</td>
          <td class="paramname"><em>node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates all output tensors of a node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">node</td><td>Node to allocate the output tensor of </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3346eb1357a58532666a6ea36fb8a451"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::allocate_all_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates all tensors of a graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to allocate the tensors </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5f602a155e97c02c99c3cf7cae8e9170"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::allocate_const_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates const tensor of a given graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to allocate the tensors </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2fd00d8fd4a859c66575723e4c6f020b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::call_all_const_node_accessors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Call all const node accessors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> containing the const nodes </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6d298f2434e4e5936f76e44863fa354d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::call_all_input_node_accessors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;&#160;</td>
          <td class="paramname"><em>workload</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Call all input node accessors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">workload</td><td>Workload to execute </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a098d51f180870b97d18e349afe57e93e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::call_all_output_node_accessors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;&#160;</td>
          <td class="paramname"><em>workload</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Call all output node accessors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">workload</td><td>Workload to execute </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad76981b4beca6dabee6a41cc708df3dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::call_all_tasks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;&#160;</td>
          <td class="paramname"><em>workload</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes all tasks of a workload. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">workload</td><td>Workload to execute </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad7483030a7f4f38d05815f9814efea54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::call_tensor_accessor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_tensor.xhtml">Tensor</a> *&#160;</td>
          <td class="paramname"><em>tensor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calls accessor of a given tensor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tensor</td><td>The tensor of which the accessor should be called </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae337eddf56a2c2201e775b040a75b3ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> arm_compute::graph::detail::configure_all_nodes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;&#160;</td>
          <td class="paramname"><em>ctx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures all nodes of graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to configure the nodes </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> context to use</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The execution workload </dd></dl>

</div>
</div>
<a class="anchor" id="aa8d3894a7c08f9ccdb658c9bfc029f7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::configure_all_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures all nodes of a graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to configure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af6bcbd881dab99aeed6618a188990af0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::configure_transition_manager </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph_context.xhtml">GraphContext</a> &amp;&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;&#160;</td>
          <td class="paramname"><em>workload</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures transition manager and execution workload. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to configure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">workload</td><td>Workload to configure </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a310bdf38a0f7e77be8315cd9018369e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::default_initialize_backends </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the available backends. </p>

</div>
</div>
<a class="anchor" id="a8b0a17136ce8fe6fe8f4d4c92fce413f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::fuse_batch_norm_with_activation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fused batch normalization with activation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to perform operation fusion on </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2fdb36e9de4ec027fe8ad4281d7c7c78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::prepare_all_tasks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structarm__compute_1_1graph_1_1_execution_workload.xhtml">ExecutionWorkload</a> &amp;&#160;</td>
          <td class="paramname"><em>workload</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prepares all tasks for execution. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">workload</td><td>Workload to prepare </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2ba5c215b78c0bfccca306e205155881"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::release_unused_tensors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Release the memory of all unused const nodes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to release the memory from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4d1a15b9a302932057b6914a3f0d63e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void arm_compute::graph::detail::validate_all_nodes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml">Graph</a> &amp;&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Validates all nodes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">g</td><td><a class="el" href="classarm__compute_1_1graph_1_1_graph.xhtml" title="Graph class. ">Graph</a> to validate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacearm__compute.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1graph.xhtml">graph</a></li><li class="navelem"><a class="el" href="namespacearm__compute_1_1graph_1_1detail.xhtml">detail</a></li>
    <li class="footer">Generated on Wed May 23 2018 11:36:43 for Compute Library by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
